package com.ft.oa.domain.project;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ft.oa.utils.SecurityUtils;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 立项项目花费详细表实体
 * @author hefeng
 * @ClassName ExecProjectCost
 * @date 2021/12/30 10:47
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "exec_project_cost",autoResultMap = true)
public class ExecProjectCost {

    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 关联表主键
     */
    private Long relationId;

    /**
     * 关联项目编码
     */
    private String projectNumber;

    /**
     * 采购名称
     */
    private String name;

    /**
     * 采购类型 0合同内采购,1合同外采购,2非交付采购,3自有产品交付
     */
    private Integer type;

    /**
     * 是否立项时采购 0否 1是
     */
    private Integer applyType;

    /**
     * 单价
     */
    private BigDecimal price;

    /**
     * 数量
     */
    private Integer num;

    /**
     * 花费金额
     */
    private BigDecimal money;

    /**
     * 供应商id
     */
    private Long supplierId;

    /**
     * 供应商名称
     */
    private String supplierName;

    /**
     * 状态 0审核中 1审核通过 2审核驳回 3撤回
     */
    private Integer status;

    /**
     * 创建人id
     */
    private Long creator = SecurityUtils.getCurrentUser().getId();

    /**
     * 创建时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime = LocalDateTime.now();

    /**
     * 修改时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime = LocalDateTime.now();

    /**
     * 规则型号
     */
    private String regularModel;
}
